package com.blue.rpc.client;

import com.blue.rpc.core.message.RpcRequest;

/**
 * 调用
 * 
 * @author zhengj
 * @since 1.0 2017年3月16日
 */
public interface RpcClientHandler
{
	/**
	 * 调用接口
	 * 
	 * @param request 请求对象
	 * @return 返回 Future
	 */
	RpcClientFuture invoke(RpcRequest request);
	
	/**
	 * 调用接口
	 * 
	 * @param request 请求对象
	 * @param callback 回调方法
	 * @return 返回 Future
	 */
	RpcClientFuture invoke(RpcRequest request, RpcClientCallback callback);
	
	/**
	 * 关闭连接
	 */
	void close();
	
}
